﻿#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//namespace xy {
//	int scanf = 0;
//}
//int main() {
//	return 0;
//}

#include<stdio.h>
int a = 0;//在全局域里
int main() {
	int a = 1;//在局部域里，与a=0不在同一个域，故可同名
	printf("%d", a);//找变量的顺序：局部域-》全局域/命名空间
}

//#include<stdio.h>
//namespace a {
//	namespace xy {
//		int scanf = 0;
//	}
//}
//namespace b {
//	namespace xy {
//		int scanf = 1;
//	}
//}
//
//int main() {
//	return 0;
//}

//#include<stdio.h>
//namespace xy {
//	int scanf = 1;
//}
//
//int main() {
//	printf("%d", xy::scanf);
//	//直接指定到xy里面找变量，不会与函数冲突
//	return 0;
//}

//#include<stdio.h>
//namespace xy {
//	int a = 1;
//}
//using xy::a;
//int main() {
//	printf("%d", a);
//
//	return 0;
//}

#include<stdio.h>
namespace xy {
	int scanf = 1;
}
using xy::scanf;
int main() {
	printf("%d", scanf);
	//找变量的顺序：局部域-》全局域/命名空间
	//先在全局域找到的是是scanf函数，不能用在这里
	return 0;
}

//#include<stdio.h>
//namespace xy {
//	int scanf = 1;
//}
//using namespace xy;
//int main() {
//	printf("%d", scanf);
//
//	return 0;
//}

//#include<stdio.h>
//namespace xy {
//	int a = 1;
//}
//using namespace xy;
//int main() {
//	printf("%d", a);
//
//	return 0;
//}

//#include<iostream>
//using namespace std;
//int main() {
//	int a = 0;
//	cin >> a;
//	return 0;
//}

//#include<iostream>
//using namespace std;
//int main() {
//	int a = 0;
//	char b = 'a';
//	cin >> b;
//	cout << a << ' ' << b << endl;
//	printf(" ");
//	scanf("%d", &a);
//	return 0;
//}

//#include <iostream>
//using namespace std;
//int main()
//{
//	int a = 0;
//	double b = 0.1;
//	char c = 'x';
//	 cout << a << " " << b << " " << c << endl;
//	std::cout << a << " " << b << " " << c << std::endl;
//	scanf("%d%lf", &a, &b);
//	printf("%d %lf\n", a, b);
//	// 可以⾃动识别变量的类型 
//	cin >> a;
//	cin >> b >> c;
//	cout << a << endl;
//	cout << b << " " << c << endl;
//	return 0;
// }
//#include<iostream>
//using namespace std;
//int main()
//{
//	// 在io需求⽐较⾼的地⽅，如部分⼤量输⼊的竞赛题中，加上以下3⾏代码 
//	// 可以提⾼C++IO效率 
//	ios_base::sync_with_stdio(false);
//	cin.tie(nullptr);
//	cout.tie(nullptr);
//	return 0;
//}

//#include<iostream>
//using namespace std;
//
//void add(int a, double b) {
//	cout << a + b << endl;
//}
//
//void add(double b, int a) {
//	cout << a + b << endl;
//}
//
//int main() {
//	int a = 1,b=2;
//	double c = 1.1, d = 2.2;
//	add(a, c);
//	add(d, b);
//	return 0;
//}

//#include<iostream>
//using namespace std;
//
//namespace a1 {
//	void add(int a, double b) {
//		cout << a + b << endl;
//	}
//}
//
//namespace a2 {
//	void add(int b, double a) {
//		cout << a + b << endl;
//	}
//}
//
//using namespace a1;
//using namespace a2;
//
//int main() {
//	int a = 1,b=2;
//	a1::add(a, b);
//	a2::add(a, b);
//	return 0;
//}

//#include <iostream>  
//
//void print(int i) {
//    std::cout << "Printing int: " << i << std::endl;
//}
//
//void print(double d) {
//    std::cout << "Printing double: " << d << std::endl;
//}
//
//int main() {
//    print(5);   // 调用 print(int)  
//    print(5.0); // 调用 print(double)  
//    print(5.12f);// 根据隐式类型转换规,float 可以转换为 double，但不能直接转换为 int
//                //因此，print(5.0f) 会调用 print(double)调用 print(double)  
//    return 0;
//}

//#include<iostream>
//using namespace std;
//void f() {
//	cout << "没有参数" << endl;
//}
//void f(int a = 1) {
//	cout << "a=" << a << endl;
//}
//int main() {
//	//f();
//	f(3);
//	return 0;
//}